package com.qf.service;

import com.qf.entity.Hotal;
import com.qf.entity.Room;
import com.qf.entity.RoomPrice;
import com.qf.entity.SearchParams;

import java.util.List;

public interface ISearchService {

    /**
     * 创建索引库
     * @return
     */
    boolean createIndex();

    /**
     * 创建映射关系
     * @return
     */
    boolean createMapping();

    /**
     * 删除索引库
     * @return
     */
    boolean deleteIndex();

    /**
     * 添加酒店信息
     * @param hotal
     * @return
     */
    boolean insertHotal(Hotal hotal);

    /**
     * 添加酒店信息 & 添加酒店的房间价格信息
     * @param room
     * @return
     */
    boolean insertRooms(Room room);

    /**
     * 添加酒店的房间价格信息
     * @return
     */
    boolean insertRoomPrices(Integer hid, List<RoomPrice> roomPrices);

    /**
     * 修改指定酒店的房间价格信息
     * @param hid
     * @param roomPrice
     * @return
     */
    boolean updateRoomPrice(Integer hid, RoomPrice roomPrice);

    /**
     * 同步数据库
     */
    void syncDataBase();

    /**
     * 酒店搜索的核心业务
     * @param searchParams
     * @return
     */
    List<Hotal> searchHotal(SearchParams searchParams);

    /**
     * 根据酒店id，修改酒店对应的点击率
     * @return
     */
    int updateHotalClicks(Integer hid, Integer clicks);
}
